package com.seafood.dto;

import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 产品DTO
 */
@Data
public class ProductDTO {
    
    private Long id;
    
    @NotBlank(message = "产品名称不能为空")
    @Size(max = 200, message = "产品名称长度不能超过200字符")
    private String name;
    
    private Long categoryId;
    
    private String categoryName;
    
    private String description;
    
    private String origin;
    
    private String species;
    
    private String processingMethod;
    
    private String grade;
    
    @DecimalMin(value = "0.0", message = "价格不能小于0")
    private BigDecimal price;
    
    private Integer stockQuantity;
    
    private String unit;
    
    private BigDecimal weightPerUnit;
    
    private String imageUrl;
    
    // 多图URL列表（JSON格式解析后）
    private List<String> imageUrls;
    
    private String status;
    
    private String createdAt;
    
    private String updatedAt;
    
    // 溯源信息摘要
    private String traceabilityInfo;
    
    // 是否有库存
    private Boolean inStock;
}